home *** CD-ROM | disk | FTP | other *** search
/ Amiga CD-Sensation: Golden Games / Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso / Various / Casino / Casino.amos / Casino.amosSourceCode < prev    next >
AMOS Source Code  |  1995-08-11  |  6KB  |  258 lines

  1. Rem ********** (C)1995 Tom Wysocki *********** 
  2. Rem ********** <synth@io.org>      *********** 
  3. Rem ********** CASINO at TOM's     *********** 
  4. MAIN:
  5. Dim N$(8)
  6. Dim S(8)
  7. Dim Y(3)
  8. Dim DES(3)
  9. Dim COU(3)
  10. Dim R(3)
  11. Do 
  12.    Gosub INITIAL_SETTING
  13.    Gosub THE_GAME
  14. Loop 
  15. '
  16. ' ******* ****** ******* ******** ******** ******* ********* ********* ***** 
  17. '
  18. INITIAL_SETTING:
  19. '
  20. ' Entering Names 
  21. Screen 0 : Screen To Front 0
  22. Palette $50A,$FFF,$FF2,$F00,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
  23. Curs On : Cls 0
  24. Paper 0 : Pen 4
  25. Clear Key 
  26. For M=1 To 8
  27.    Print "Input Your 5 letter name player:";M
  28.    Input N$(M)
  29.    N$(M)=Left$(N$(M),5)
  30.    N$(M)=Upper$(N$(M))
  31.    If N$(M)="" Then Exit 
  32. Next 
  33. Dec M
  34. SM=M
  35. For A=1 To M
  36.    S(A)=10
  37. Next 
  38. Put Key "10"
  39. Input "How many rounds:";ROU
  40. '
  41. ' Making Screens 
  42. Flash Off : Curs Off : Cls 0
  43. Palette $50A,$FFF,$FF2,$FD0,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
  44. Paste Bob 51,13,1
  45. Gosub NAMELIST
  46. Screen Open 2,320,200,32,Lowres
  47. Flash Off : Curs Off : Cls 0
  48. Palette $50A,$FFF,$FF2,$FD0,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
  49. Paste Bob 0,0,6
  50. Paste Bob 0,98,7
  51. Screen Open 1,320,200,32,Lowres
  52. Flash Off : Curs Off : Cls 0
  53. Palette $50A,$FFF,$FF2,$FD0,$FB0,$F90,$F60,$F00,$C00,$900,$5F5,$3E3,$1D1,$B0,$6B,$FF,$F9F,$E6E,$D4D,$C0C,$0,$410,$620,$830,$B30,$C40,$D52,$DDD,$AAA,$FF0,$770,$770
  54. Paste Bob 75,17,4
  55. Paste Bob 242,90,2
  56. Screen Copy 2,0,0,30,29 To 1,116,74
  57. Screen Copy 2,0,0,30,29 To 1,145,74
  58. Screen Copy 2,0,0,30,29 To 1,174,74
  59. Ink 3,0
  60. Get Rom Fonts 
  61. Set Font 1
  62. Set Text 6
  63. Gr Writing 0
  64. Reserve Zone 5
  65. Set Zone 1,209,115 To 218,124
  66. Set Zone 2,209,128 To 218,137
  67. Set Zone 3,97,109 To 104,146
  68. Set Zone 4,124,42 To 193,60
  69. Set Zone 5,243,87 To 266,113
  70. Screen To Front 0 : Screen 0
  71. Repeat 
  72. Until Mouse Click or Fire(1) or Key State(69)
  73. Gosub TRANS
  74. Return 
  75. '
  76. THE_GAME:
  77. For I=1 To 3
  78.    Y(I)=0
  79.    DES(I)=0
  80.    COU(3)=0
  81.    R(3)=0
  82. Next 
  83. NY=0
  84. Music 1
  85. VOL=63
  86. Pen 1
  87. Paper 0
  88. Repeat 
  89.    Cls 0,0,0 To 320,7
  90.    Centre "Remaining Rounds:"+Str$(ROU-1)
  91.    For CUR=1 To M
  92.       Repeat 
  93.          Add NY,1,7 To 16*M+6
  94.          Screen Copy 0,111,55+NY,192,55+NY+9 To 1,120,149
  95.          Wait 3
  96.       Until NY/16.0=Int(NY/16)
  97.       If S(CUR)=<0
  98.          Goto SCORE_0
  99.       End If 
  100.       '
  101.       PREPARATIONS:
  102.       BET=1
  103.       Gosub SCORE
  104.       Repeat 
  105.          If(Jleft(1) or Mouse Zone=2 and Mouse Key) and BET>1
  106.             Add BET,-1
  107.             Gosub SCORE
  108.             Sam Play 3,1
  109.             Wait 7
  110.          End If 
  111.          If(Jright(1) or Mouse Zone=1 and Mouse Key) and BET<10 and S(CUR)>BET
  112.             Add BET,1
  113.             Gosub SCORE
  114.             Sam Play 3,1
  115.             Wait 7
  116.          End If 
  117.          If Key State(69) or Mouse Zone=3 and Mouse Key
  118.             Sam Play 3,1
  119.             Gosub TRANS
  120.             Repeat 
  121.             Until Fire(1) or Mouse Click or Key State(69)
  122.             Sam Play 3,1
  123.             Gosub TRANS
  124.          End If 
  125.          If Mouse Zone=4 and Mouse Key=1 and VOL>0
  126.             Add VOL,-1,0 To 63
  127.             Mvolume VOL
  128.             Wait 2
  129.          End If 
  130.          If Mouse Zone=4 and Mouse Key=2 and VOL<63
  131.             Add VOL,1,0 To 63
  132.             Mvolume VOL
  133.             Wait 2
  134.          End If 
  135.       Until Jdown(1) or(Mouse Zone=5 and Mouse Key)
  136.       Cls 0,242,90 To 266,112
  137.       Paste Bob 242,107,3
  138.       Music Off 
  139.       Sam Play 3
  140.       Repeat 
  141.       Until Jdown(1)=0 and Mouse Key=False
  142.       Cls 0,242,107 To 266,129
  143.       Paste Bob 242,90,2
  144.       Sam Play 4
  145.       Wait 12
  146.       '
  147.       SPIN:
  148.       For A=1 To 3
  149.          R(A)=Rnd(6)
  150.          COU(A)=0
  151.          If A=1 Then DES(A)=(168-Y(A))+3*168+R(A)*24
  152.          If A=2 Then DES(A)=(168-Y(A))+5*168+R(A)*24
  153.          If A=3 Then DES(A)=(168-Y(A))+7*168+R(A)*24
  154.       Next 
  155.       SPEED#=4
  156.       Repeat 
  157.          For A2=1 To SPEED#
  158.             For A=1 To 3
  159.                If COU(A)<>DES(A)
  160.                   Add Y(A),1,0 To 167
  161.                   Add COU(A),1
  162.                End If 
  163.                If COU(3)=DES(A)
  164.                   Sam Play 12,4
  165.                End If 
  166.             Next 
  167.             If COU(2)=DES(2)
  168.                If SPEED#=4
  169.                   SPEED#=SPEED#+1
  170.                End If 
  171.                SPEED#=SPEED#-4.0/(DES(3)-DES(2))
  172.             End If 
  173.          Next 
  174.          Add SOUND,1,SPEED#*3 To 15
  175.          If SOUND=15 Then Sam Play 3,1
  176.          Screen Copy 2,0,Y(1),30,Y(1)+29 To 1,116,74
  177.          Screen Copy 2,0,Y(2),30,Y(2)+29 To 1,145,74
  178.          Screen Copy 2,0,Y(3),30,Y(3)+29 To 1,174,74
  179.          Wait Vbl 
  180.       Until COU(3)=DES(3)
  181.       Wait 60
  182.       '
  183.       COUNTING_SCORE:
  184.       If R(1)=R(2) and R(2)=R(3) and R(3)=6
  185.          BET=BET*1000
  186.          Goto WIN
  187.       End If 
  188.       If R(1)=R(2) and R(2)=R(3)
  189.          BET=R(1)/2.0*BET*10+BET*10
  190.          Goto WIN
  191.       End If 
  192.       If R(1)=R(2) or R(2)=R(3)
  193.          BET=R(2)/2.0*BET-BET
  194.          Goto WIN
  195.       End If 
  196.       BET=-BET
  197.       '
  198.       WIN:
  199.       Add S(CUR),BET
  200.       If S(CUR)=0 Then Dec SM
  201.       Gosub SCORE
  202.       Screen 0
  203.       Gosub NAMELIST
  204.       Screen 1
  205.       Screen Copy 0,111,55+NY,192,55+NY+9 To 1,120,149
  206.       Sam Play 2
  207.       Wait 65
  208.       Music 1
  209.       Repeat 
  210.       Until Mouse Click or Fire(1)
  211.       SCORE_0:
  212.    Next 
  213.    Dec ROU
  214. Until ROU=<0 or(M>1 and SM=1)
  215. If SM>1
  216.    For A=1 To M-1
  217.       For L=A+1 To M
  218.          If S(L)>S(A)
  219.             Swap S(L),S(A)
  220.             Swap N$(L),N$(A)
  221.          End If 
  222.       Next 
  223.    Next 
  224. End If 
  225. Screen 0
  226. Gosub NAMELIST
  227. Screen 1
  228. Gosub TRANS
  229. Repeat 
  230. Until Fire(1) or Mouse Click or Key State(69)
  231. Return 
  232. '
  233. TRANS:
  234. Shift Off 
  235. Fade 4 : Wait 4*15
  236. Screen To Front -Screen+1
  237. Screen -Screen+1
  238. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  239. Fade 4 To 2 : Wait 4*15
  240. Shift Up 5,29,31,1
  241. Return 
  242. '
  243. ENTER_NAME:
  244. Return 
  245. '
  246. NAMELIST:
  247. Pen 1
  248. Paper 0
  249. For A=1 To M
  250.    Print At(14,7+A*2)+N$(A)+"       "
  251.    Print At(24-Len(Str$(S(A))-" "+"$"),7+A*2)+"$"+Str$(S(A))-" "
  252. Next 
  253. Return 
  254. '
  255. SCORE:
  256. Paste Bob 123,118,5
  257. Text 161-Len("$"+Str$(BET)-" ")*8/2,128,"$"+Str$(BET)-" "
  258. Return